package com.amsp.oa.oademo.service;

import com.amsp.oa.oademo.entity.FileReissue;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

public interface FileReissueService extends IService<FileReissue> {
    /**
     * 分页查询文件补发申请单
     *
     * @param page    页码
     * @param size    每页大小
     * @param keyword 关键字
     * @return 分页结果
     */
    IPage<FileReissue> getPage(Integer page, Integer size, String keyword);

    /**
     * 保存或更新文件补发申请单（包含明细）
     *
     * @param fileReissue 文件补发申请单
     * @return 保存后的文件补发申请单
     */
    FileReissue saveOrUpdateWithDetails(FileReissue fileReissue);

    /**
     * 根据ID获取文件补发申请单（包含明细）
     *
     * @param id ID
     * @return 文件补发申请单
     */
    FileReissue getByIdWithDetails(Long id);

    /**
     * 根据ID删除文件补发申请单（包含明细）
     *
     * @param id ID
     */
    void removeWithDetails(Long id);
}